
//工具类的基本
'use strict';
var Hogan = require('hogan.js');
var conf = {
    //后台地址
    serverHost :'http://127.0.0.1:8888/xboot',
}

var _mm = {   
    //w网络请求
    //获取后端请求的
    request : function(param){
        var _this = this;
        $.ajax({
            type      : param.method || 'POST',
            url       : param.url || '' ,
            dateType  :'JSONP',
            data      : param.data    || '',
            crossDomain:true,
            xhrFields :{
                withCredentials : true
            },
            success   : function(res){
                //请求成功
                if(0 === res.status){
                    typeof param.success === 'function' && param.success(res.data, res.msg);
                }
                // 没有登录状态，需要强制登录
                else if(10 === res.status){
                    _this.doLogin();
                }
                 // 请求数据错误
                else if(1 === res.status){
                    typeof param.error === 'function' && param.error(res.msg);
                }
            },
            error : function(err){
                //请求错误 404..
                typeof param.error === 'function' && param.error(err.statusText);
            }
        });
    },
    //获取服务器地址
    getServerUrl : function(path){
        return conf.serverHost + path;
    },
    //获取URL参数
    getUrlParam : function(name){
        //比如： happymmall.com/proudect/list?keyword=xxx&page=1
        //用一个正则去匹配key和value
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');  //keyword=xxx&page=1
        //匹配？后面带的参数
        var result = window.location.search.substr(1).match(reg);  //xxx和1
        //如果有参数就拿到=后的数，没有返回null
        return result ? decodeURIComponent(result[2]) : null;
    },
    // 渲染html模板
    //将模板和数据进行拼接
    renderHtml :function (htmlTemplate,date){
        var template = Hogan.compile(htmlTemplate); //编译
        var result = template.render(date);  //用数据渲染模板
        return result;
    },
    //成功提示
    successTips : function(){
       alert(msg);
   },
   errorTips : function(msg){
        alert(msg);
    },
    //字段的验证,支持是非空、手机、邮箱
   validate : function(value,type){
    //trim()函数返回去掉开头和结尾空格后的字符串//trim()函数返回去掉开头和结尾空格后的字符串
    var value = $.trim(value);  
    //非空验证
    if ('require' === type) {
    //把value强转成boolean类型 value有值--》true  value没有值--》false
        return !!value;  
    }
    //手机号验证
    if ('phone' === type) {
        return /^[1][3,4,5,7,8][0-9]{9}$/.test(value);
    }
    //邮箱的验证
    if ('email' === type) {
        return /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value);
    }
   },
    //统一登录处理
    //encodeURIComponent 完全编码
    doLogin : function(){
        window.location.href = './user-login.html?redirect=' + encodeURIComponent(window.location.href);
    },
    //调回主页
    goHome : function(){
        window.location.href = './inde.html';
    }
};

module.exports = _mm;